iT邦幫忙

2024 iThome 鐵人賽

DAY 4
2
Modern Web

後端菜雞仔想學 Laravel系列 第 4

想像力就是你的超能力,「你想做出什麼」會成為你學習的動力跟續航力。

  • 分享至 

  • xImage
  •  

我覺得可以在接收知識的同時,先花一點點時間想像一下。

我之前工作是在行銷領域,大多接觸電商網站、會員系統,我剛開始在學習 Laravel 時,腦袋中會有一個簡單的系統雛形:

  1. 當我點開這個網站所呈現的首頁
  2. 首頁裡會顯示產品列表
  3. 每個產品點進去會有產品資訊
  4. 我可以註冊並登入會員
  5. 也可以直接用 Google帳號或 LINE 帳號登入
  6. 將喜歡的產品放到購物車

然後會有一個想法:我該怎麼用 Laravel 實現這個簡單的系統?

一切都還不是詳細規劃,而只是先大概想像而已!(因為我還不會用呀!)
而我正是帶著這樣的目的去認識 Laravel,同時也讓我稍微比較有畫面感,幫助我理解。


當時蠻喜歡這篇文章的介紹:五分鐘導覽與學習Laravel
我覺得這是我快速入門 Laravel 的基礎,歡迎大家可以優先點進文章看看。

這篇文章內容以「一個 Request 的生命之旅與一個空空的腦袋」為出發點,認識每個關鍵元件,也介紹 request 到 response 的過程,並對應到官方文件上:

  1. Requests:學習 Laravel 怎麼處理 Request。
  2. Routing:學習 Laravel 怎麼處理路由。
  3. Middleware:學習 Laravel 怎麼過濾 Request。
  4. Model、Views、Controllers:學習 Laravel 的 MVC 架構。
  5. Responses:學習 Laravel 如何回傳結果。

在 request 進入到 index.php 時,例如:當我點開這個網站所呈現的首頁,Laravel 需要初始化整個應用程式,完成初始化後才會開始處理 request。

簡單來說,Laravel 會先初始化一個空的「腦袋」,然後在這個腦袋裡灌入所有處理請求需要的功能,像是路由、中介層、驗證等。等一切準備好後,Laravel 就能夠順利接收並處理各種來自使用者的請求了。

Laravel 其實是一個空空的腦袋,我喜歡作者這樣比喻。


有了基本的關係走向概念後,相信你會更加理解個別的關鍵元件!
因為透過這些關鍵元件,開發者能夠快速構建具有高效能和可擴展性的應用程式。

以下使用 GPT 整理一些我覺得需要重點優先理解的 Laravel 的關鍵元件及其簡單解釋:

  1. 路由(Routing)
    路由是應用程式的入口,負責將使用者的 HTTP 請求(例如 GET 或 POST 請求)映射到特定的控制器方法或閉包函數。
    簡單來說,路由可以決定哪個邏輯應該處理哪個請求。

  2. 中介層(Middleware)
    負責處理請求的過濾器,在請求進入應用程式之前或回傳給使用者之前執行特定的邏輯。
    例如:會員認證、CORS 設定等。

  3. 控制器(Controllers)
    負責處理請求並回傳的地方。
    通常會在控制器中執行商業邏輯,並與資料庫進行互動。

  4. 視圖(Views)
    負責顯示資料給使用者的部分,例如:打開網站後首頁呈現的畫面。
    Laravel 使用 Blade 模板引擎來簡化 HTML 模板的撰寫。

  5. 模型(Models)
    負責與資料庫互動,並管理應用程式中的資料。
    它通常代表一個資料表,並且使用 Eloquent ORM 來簡化資料庫操作。

  6. 服務提供者(Service Providers)
    負責載入和註冊應用程式內所有服務的地方。
    Laravel 的核心功能(如路由、視圖、認證)都是透過服務提供者來註冊的。
    開發者也可以撰寫自己的 Service Provider 來擴展 Laravel。

  7. 事件與監聽器(Events and Listeners)
    事件系統允許你定義應用程式內的關鍵行為,並根據事件的發生來執行相應的動作。
    監聽器會監聽這些事件,並執行特定的邏輯。

  8. Eloquent ORM
    Eloquent 是 Laravel 的 ORM(物件關聯映射),它簡化了與資料庫的互動。
    透過 Eloquent,開發者可以使用物件導向的方式來操作資料庫,而不需要寫 SQL 查詢語句。

  9. 驗證(Validation)
    負責檢查使用者輸入的資料是否合理。
    Laravel 提供了一個簡單且強大的驗證系統,能夠快速地對請求中的資料進行檢查。


昨天希望大家初步了解 Laravel 目錄結構,有了「這個檔案是在做什麼」的基礎概念,如果還是覺得剛開始看的時候很霧煞煞(菜雞仔如我,就是這樣唷!)
可以再搭配觀看以上內容。

另外,想像力就是你的超能力,「你想做出什麼」會成為你學習的動力跟續航力。
因為我最一開始漫無目的看介紹 Laravel 的影片很常睡著,根本都沒把大神們的講解吸收到我的腦袋裡,只有在夢裡(誤)

大家也可以先想看看,你會想用 Laravel 幫助你做出什麼功能?
這是我自己覺得能幫助我學習的方式,希望也能幫助到跟我有一樣困擾的小夥伴們。


上一篇
初步了解 Laravel 目錄結構
下一篇
設定 .env 檔案
系列文
後端菜雞仔想學 Laravel13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言